Предпосылки создания модели BOC(OSI). Уровневые протоколы. Сети и модель взаимодействия открытых систем
Сети и модель взаимодействия открытых систем
Уровневые протоколы необходимо применять в современных сетях по следующей причине:
- Ведущие организации в области сетевых технологий, работающие по их стандартизации, развивают концепции уровневых протоколов.
- Ведущие фирмы - поставщики сетевых технологий (HP, IBM, DEC, Novell) ориентируются на создание уровневых сетей.
- Уровневые протоколы имеют хорошее обоснование с точки зрения прикладного применения.
2.5.1.1. Назначение уровневых протоколов
Концепция уровневых протоколов развивалась в течение последних 45 лет и была направлена на решение следующих задач:
- Обеспечить логическую декомпозицию любой сложной сети на более простые и понятные части (уровни).
- Обеспечить стандартные интерфейсы между сетевыми функциями.
- Обеспечить симметрию в отношении функций, реализуемых в каждом узле сети. Каждый уровень в некотором узле сети выполняет те же функции, какие выполняет аналогичный уровень в другом узле.
- Обеспечить средства предсказания изменений и управления изменениями, которые могут быть внесены в логику работы сети.
- Обеспечить простой стандартный язык коммуникации разработчиков сети, администраторов, фирм-поставщиков и пользователей.
2.5.1.2. Проблемы проектирования и эксплуатации сетей
В последние годы вычислительные сети усложнились по числу компонент, по логической сложности, по используемому программному обеспечению.
Возникли серьезные проблемы технической эксплуатации сетей.
Проектирование и развитие некоторых сетей происходило без учета каких-либо стандартов, поэтому ее компоненты имели весьма плохо определенные интерфейсы.
У фирм разработчиков был свой подход:
- к проектированию сетей;
- разработке алгоритмов работы сети;
- определению того, каким образом должны встраиваться в сеть интерфейсы конечных пользователей.
Отсутствие унифицированного подхода среди фирм-разработчиков сетевых технологий привело к ситуации несовместимости используемого сетевого оборудования. Необходима была стандартизация сетевых технологий. Следовательно, основная идея разработки общих стандартов для уровневых протоколов заключается в том, чтобы разработать для всех фирм базовые подходы к созданию сетевого КТС и КПО.
2.5.1.З. Описание уровневых протоколов
При описании сетевых протоколов как уровневых используются следующие базовые понятия.
Уровень - компонент иерархической структуры системы (сети), в качестве которого выступает базовая эталонная модель взаимодействия открытых систем и который состоит из подсистем одного ранга.
Услуга уровня - функциональная возможность, которую данный уровень вместе с нижерасположенными (нижележащими) уровнями обеспечивает смежному верхнему уровню.
Сервис уровня - совокупность услуг уровня и правил их использования.
Пользователь сервиса - абстрактное представление совокупности логических объектов уровня в одной открытой системе, которые используют сервис уровня через точку доступа к сервису (ТДС).
Точка доступа к сервису (ТДС - SAP) - это точка, в которой логический объект уровня представляет сервис логическому объекту смежного верхнего уровня.
Поставщик сервиса - это абстрактное представление совокупности логических объектов уровня, поставляющих сервис уровня.
Объект - это некоторый специализированный модуль.
Функция - это некоторая подсистема уровня.
Каждая подсистема состоит из логических объектов.
Стандартная технология взаимодействия с уровнем или поставщиком сервиса показана на рис. 26 и 27.
Посредством ТДС осуществляется вызов в уровень или из уровня четырех транзакций, называемых примитивами:
Запрос - примитив, используемый пользователем сервиса для вызова некоторой функции.
Индикация - примитив, используемый поставщиком сервиса:
- • для вызова функций;
- • уведомления о том, что функция была вызвана в некоторый ТДС. Ответ - используется пользователем сервиса для завершения функции,
ранее вызванной примитивом индикации в этой ТДС.
Подтверждение - используется поставщиком сервиса для завершения функции, ранее вызванной запросом в этой ТДС.
В процессе межуровневого взаимодействия используются 5 основных компонент (рис. 28), к которым относятся:
- SDU - сервисный блок данных - это данные пользователя, передаваемые в прозрачном режиме уровнем N+1 в уровень N-1 через уровень N.
- PCI - управляющая информация протокола - это информация, которой обмениваются одноуровневые объекты в различных узлах сети, чтобы сообщить некоторому объекту об необходимости выполнения сервисной функции.
- PDU - протокольный блок данных - это блок данных, определенный протокол взаимодействия одноранговых и логических объектов и содержащий управляющую информацию протокола и данные пользователя.
- ICI - управляющая информация интерфейса - это временной параметр, передаваемый между вышележащим и нижележащим уровнями для вызова сервисных функций.
- IDU - интерфейсный блок данных - это либо полный блок информации или блок данных, передаваемый через TDC некоторого уровня между логическим объектом этого уровня и логическим объектом смежного верхнего уровня, посредством элементарного взаимодействия [1, 22].
Открытая система - любая система (компьютер, компьютерная сеть, ОС, программный пакет, другие аппаратные и программные продукты), которая построена в соответствии с открытыми спецификациями.
Спецификация (в вычислительной технике) - это формализованное описание аппаратных или программных компонентов, способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, ограничений и особых характеристик. Не всякая спецификация является стандартом.
Модель ВОС (OSI - Open System Interconnection) определяет различные уровни взаимодействия систем, дает стандартные имена и указывает, какие функции должен выполнять каждый уровень.
Модель взаимодействия открытых систем описывает только системные средства взаимодействия, реализующие ОС, системными и аппаратными средствами.
Архитектура модели ВОС показана на рис. 29 и 30 и включает следующие уровни:
- физический;
- канальный;
- сетевой;
- транспортный;
- сеансовый;
- представительный;
- прикладной.
Физический уровень - это уровень побитовых протоколов передачи
информации. Интерфейс между ЭВМ, участвующими во взаимодействии, и средой передачи дискретных сигналов управления физическим каналом сводится:
- к выделению начала и конца кадра, несущего в себе передаваемые данные;
- формированию и приему сигналов определенной физической природы со скоростью, соответствующей пропускной способности канала;
- скорости формирования и анализа специальных кодовых последовательностей, характеризующих состояние канала.
Стандарты включают рекомендации протоколов Х.21 и Х.25 МККТ, определяющие следующие характеристики:
- механические;
- электрические;
- функциональные;
- процедурные (необходимы для установления (активизации) поддержания и расторжения (дезактивации) физических соединений).
Физический уровень делится:
на подуровень передачи физических сигналов PS - выделяется в целях облегчения схемной интеграции с канальным уровнем;
- подуровень интерфейса с устройством доступа AUI, который позволяет размещать PS на некотором расстоянии от носителя, т.е. передающей среды;
- подуровень подключения к физической среде (РМА) - РМА, который согласует сигналы, поступающие из подуровня PS с требованием передающей среды; тем самым обеспечивает возможность использования определенного подуровня PS с несколькими типами передающей среды.
Канальный уровень - уровень звена данных, который формирует из самых передаваемых физических уровней «информационные кадры» и их последовательности, осуществляет структуризацию передаваемых данных.
управление доступом к передающей среде, обнаруживает и исправляет ошибки.
Канальный уровень обеспечивает:
- синхронизацию данных для разграничения потоков битов из физического уровня;
- вид представления битовых последовательностей, который создает определенные гарантии, чтобы данные благополучно прибыли в 00Д;
- управление потоками данных, чтобы гарантировать, что ООД не будет перегружено в любой момент времени слишком большим объемом данных;
- обнаружение ошибок и обеспечение механизма восстановления и их дублирования.
В протоколах канального уровня, используемых в локальных сетях, заложена определенная структура связей между компьютерами и способы их адресации. Хотя канальный уровень и обеспечивает доставку кадра между любыми двумя узлами локальной сети, он это делает только в сети с совершенно определенной топологией связей, именно той топологией, для которой он был разработан. К таким типовым топологиям, поддерживаемым протоколами канального уровня локальных сетей, относятся общая шина, кольцо и звезда, а также структуры, полученные из них с помощью мостов и коммутаторов. Примерами протоколов канального уровня являются протоколы Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.
Сетевой уровень - устанавливает связь в сети между двумя абонентами. Соединение между абонентами происходит в результате выполнения функций маршрутизации. Сообщения сетевого уровня называются пакетами (packets). При организации доставки пакетов на сетевом уровне используется понятие «номер сети». В этом случае адрес получателя состоит из старшей части - номера сети и младшей - номера узла в этой сети. Все узлы одной сети должны иметь одну и ту же старшую часть адреса, поэтому термину «сеть» на сетевом уровне можно дать и другое, более формальное определение: сеть - это совокупность узлов, сетевой адрес которых содержит один и тот же номер сети.
Сетевой уровень обеспечивает:
- обработку ошибок;
- мультиплексирование данных;
- управление потоками данных;
- определяет интерфейс ООД пользования с сетью пакетной коммуникации, а также интерфейс двух взаимодействующих ООД через сеть с пакетной коммуникацией;
- определяет маршрутизацию в сети и межсетевую связь или связь между сетями.
Примером стандарта для уровня является протокол Х.25, протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.
Транспортный уровень. На транспортном уровне осуществляется поддержка между двумя взаимодействующими друг с другом пользовательскими процессами. Транспортный уровень отвечает:
- за качество транспортировки данных;
- корректировку ошибок передачи данных;
- независимость вычислительных сетей;
- сервис транспортировки из конца в конец;
- минимизацию затрат связи, что гарантирует непрерывную безопасность при передаче данных;
- обеспечивает интерфейс между сетью передачи данных и верхними тремя уровнями.
Транспортный уровень проектируется таким образом, чтобы отделить пользователя от некоторых физических и функциональных аспектов пакетной сети.
Протоколы нижних четырех уровней обобщенно называют сетевым транспортом или транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Остальные три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы.
В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.
Сеансовый уровень. Координирует передачу приема сообщений в течение одного сеанса связи. Служит интерфейсом пользователя с уровнем транспортных услуг. Осуществляет:
- контроль рабочих параметров;
- управление потоками данных промежуточных накопителей и диалоговый контроль;
- гарантированную передачу данных;
- дополнительные функции управления паролями, подсчета платы за использование ресурсами сети;
- точки синхронизации для промежуточного контроля и восстановления при передаче файлов;
- аварийное окончание и рестарты;
- нормальную и ускоренную передачу данных.
Уровень представления данных. Предназначен для интерпретации данных, подготовки данных для пользовательского прикладного уровня. Определяет:
- синтаксис данных или представление данных;
- принимаемые типы данных не прикладного уровня, которыесогласо- вывались бы с уровнем того же ранга;
- отображение данных на виртуальном терминале;
- услуги приема электронных сообщений из уровня приложения и согласования.
Примером такого протокола является протокол Secure Socket Layer (SSL), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.
Прикладной уровень. Занимается поддержкой прикладного процесса конечного пользователя; в отличие от уровня представления данных этот уровень определяет семантику данных.
Уровень содержит сервисные элементы для под держки прикладных процессов, которые используются при обмене финансовыми и деловыми данными. Осуществляет управление ресурсами при административном управлении. То есть это набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертекстовые Web-страницы, а также организуют свою совместную работу, например, с помощью протокола электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением (message).
Пример служб прикладного уровня в виде файловых служб: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.
Технология взаимодействия в рамках модели OSI показана на рис. 29 и рис. 30.
В заключении данного раздела следует отметить особенности различных уровней модели ВОС.
Физический, канальный, сетевой уровни модели ВОС являются сетезависимыми, т.е. протоколы данных уровней тесным образом связаны с технической реализацией ВС и используемым коммуникационным оборудованием. В результате переход на оборудование другого стандарта означает полную смену протоколов физического и канального уровней во всех узлах сети.
Прикладной, представительный, сеансовый ориентированы на приложения и в малой степени зависят от технических особенностей построения ВС. На протоколы этих уровней не влияют: переход на другой сетевой стандарт (сетевую технологию), изменение топологии сети, замена сетевого оборудования.
Транспортный уровень занимает промежуточное положение в архитектуре модели ВОС, он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, которые не зависят от технических средств непосредственной транспортировки сообщений.
На примере модели ВОС показано, что взаимодействие прикладных процессов, или объектов в ВС осуществляется в соответствии с определенными правилами.
Сетевой протокол - это набор синтаксических и семантических правил, в соответствии с которыми осуществляется взаимодействие процессов, или объектов одного уровня.
Межуровневый сетевой интерфейс - это правило взаимодействия процессов, или объектов двух соседних уровней [22].